<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!-- 什么是组件： 组件的出现，就是为了拆分Vue实例的代码量的，能够让我们以不同的组件，
		来划分不同的功能模块，将来我们需要什么样的功能，就可以去调用对应的组件即可； -->
		<!-- 组件化和模块化的不同：
			+ 模块化(node)： 是从代码逻辑的角度进行划分的；方便代码分层开发，保证每个功能模块的职能单一；
			+ 组件化： 是从UI界面的角度进行划分的；前端的组件化，方便UI组件的重用； -->
		<script src="../lib/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<!-- 如果要使用组件，直接把组件名称以HTML标签形式引入到页面中即可 -->
			<my-com1></my-com1>
		</div>
		<script type="text/javascript">
			//1.1 使用Vue.extend 创建全局Vue组件
			var com1 = Vue.extend({
				//通过template属性，指定了组件要展示的HTML结构
				template:'<h3>这是使用Vue.extend 创建的全局Vue组件</h3>'
			})
			//1.2 使用Vue.component('组件名称'，创建出来的组件模板对象)
			// 如果使用 Vue.component 定义全局组件的时候，组件名称使用了 驼峰命名，则在引用组件的时候，需要把 大写的驼峰改为小写的字母，同时，两个单词之前，使用 - 链接；
			// 如果不使用驼峰,则直接拿名称来使用即可;
			// Vue.component('mycom1', com1)
			
			// Vue.component 第一个参数:组件的名称,将来在引用组件的时候,就是一个 标签形式 来引入 它的
			// 第二个参数: Vue.extend 创建的组件  ,其中 template 就是组件将来要展示的HTML内容
			Vue.component('myCom1',com1);
			
			//也可以直接合成一步
			/* Vue.component('myCom1',Vue.extend({
				template:'<h3>这是使用Vue.extend 创建的全局Vue组件</h3>'
			})); */
			var vm = new Vue({
				el:'#app',
				data:{},
				methods:{}
			})
		</script>
	</body>
</html>
